package com.wander.designStructural.chain;

/**
 * @Author WDYin
 * @Date 2021/11/23
 * @Description
 *  抽象类中有一个属性，一个构造方法和一个抽象方法；相应的子类分别实现了各自的抽象方法，
 * 用来处理各自的能力范围之内的事情。每个实现类根据自身的能力觉得如果处理相应的申请条件，
 * 这样的结构可以更加可读，并且每个人的处理能力互不影响，如果谁的能力有变化只要修改自己的那一部分就可以了。
 * 接下来我们看下客户端是如果调用的。
 **/
public abstract class Leader {

    protected Leader leader;

    public void setLeader(Leader leader) {
        this.leader = leader;
    }

    public abstract void handlerApply(ApplyModel applyModel);
}

